/****用户路由器user.js***/
//引入必须的模块文件
const express = require('express')
const pool = require('../pool.js')
//创建路由器
const router = express.Router()
//导出路由器
module.exports = router


//创建接口:使用用户名与密码登录
router.post('/login',(req,res)=>{
	//接收参数
	let name = req.body.name
	let pwd=req.body.pwd
	console.log(req.body)
	pool.query('select id from usertable where name=? and pwd=?',[name,pwd],(err,result)=>{
		if(err){
			throw err
			}
		if(result.length>0){
			res.send({code:200,msg:"登录成功!","name":name,"pwd":pwd})
			console.log('登录成功')
			}else{
			res.send({code:404,msg:"登录失败!"})
			}
	})
})




//1.声明当前路由器下的接口:检查用户名是否存在
router.post('/check_name',(req,res)=>{ //11:25继续
	//从查询字符串中获取用户输入的用户名
	var n = req.body.name
	//res.send(n) //不能send()多次,测试完这里注释掉	
	//定义SQL语句:查询用户名对应的uid是否存在
	var sql = 'select id from usertable where name=?'
	//执行查询
	pool.query(sql,[n],(err,result)=>{
		//SQL语句执行出错,抛出,终止函数执行
		if(err){
			throw err
			}
		//否则就向客户端发送查询结果
		//res.send(result)//[{"uid":3}] 或 []
		if(result.length>0){
			res.send({code:400,msg:"用户名重复!"})
			console.log(result)
			console.log(400)
		}else{
			res.send({code:200,msg:"用户名可以注册!"})
			console.log(200)
		}
	})
})

router.post('/check_phone',(req,res)=>{ //11:25继续
	//从查询字符串中获取用户输入的用户名
	var p = req.body.phone
	//res.send(n) //不能send()多次,测试完这里注释掉	
	//定义SQL语句:查询用户名对应的uid是否存在
	var sql = 'select id from usertable where phone=?'
	//执行查询
	pool.query(sql,[p],(err,result)=>{
		//SQL语句执行出错,抛出,终止函数执行
		if(err){throw err}
		//否则就向客户端发送查询结果
		//res.send(result)//[{"uid":3}] 或 []
		if(result.length>0){
			res.send({code:400,msg:"手机号已被注册!"})
			console.log(result)
			console.log(400)
		}else{
			res.send({code:200,msg:"手机号可以注册!"})
			console.log(200)
		}
	})
})


router.post('/check_pwd',(req,res)=>{ //11:25继续
	//从查询字符串中获取用户输入的用户名
	var pwd = req.body.pwd
	var name = req.body.name
	//res.send(n) //不能send()多次,测试完这里注释掉	
	//定义SQL语句:查询用户名对应的uid是否存在
	var sql = 'select id from usertable where pwd=? and name=?'
	//执行查询
	pool.query(sql,[pwd,name],(err,result)=>{
		//SQL语句执行出错,抛出,终止函数执行
		if(err){throw err}
		//否则就向客户端发送查询结果
		//res.send(result)//[{"uid":3}] 或 []
		if(result.length>0){
			res.send({code:200})
			console.log(result)
		}else{
			res.send({code:400,msg:"密码错误!"})
			console.log(400)
		}
	})
})



router.post('/shuju',(req,res)=>{
	var name=req.body.name
	console.log(name)
	//res.send(n) //不能send()多次,测试完这里注释掉	
	//定义SQL语句:查询用户名对应的uid是否存在
	var sql = 'select*from usertable where name=?'
	//执行查询
	pool.query(sql,[name],(err,result)=>{
		//SQL语句执行出错,抛出,终止函数执行
		if(err){throw err}
		//否则就向客户端发送查询结果
		//res.send(result)//[{"uid":3}] 或 []
		if(result.length>0){
			res.send(result)
			console.log(result)
		}else{
			res.send({code:400,msg:"查询错误"})
		}
	})
})


router.put('/xgnm',(req,res)=>{
	var xname=req.body.xname
	var name=req.body.name
	console.log(name)
	//res.send(n) //不能send()多次,测试完这里注释掉	
	//定义SQL语句:查询用户名对应的uid是否存在
	var sql = 'UPDATE usertable set name=? where name=?'
	//执行查询
	pool.query(sql,[xname,name],(err,result)=>{
		//SQL语句执行出错,抛出,终止函数执行
		if(err){throw err}
		if(result.changedRows>0){
			res.send({code:200,msg:"修改成功!"})
		}else{
			res.send({code:400,msg:"修改失败!"})
		}
	})
})


router.put('/xgmm',(req,res)=>{
	var xpwd=req.body.xpwd
	var name=req.body.name
	console.log(name)
	//res.send(n) //不能send()多次,测试完这里注释掉	
	//定义SQL语句:查询用户名对应的uid是否存在
	var sql = 'UPDATE usertable set pwd=? where name=?'
	//执行查询
	pool.query(sql,[xpwd,name],(err,result)=>{
		//SQL语句执行出错,抛出,终止函数执行
		if(err){throw err}
		if(result.changedRows>0){
			res.send({code:200,msg:"修改成功!"})
		}else{
			res.send({code:400,msg:"修改失败!"})
		}
	})
})


router.post('/register',(req,res)=>{
	//接收参数
	let name = req.body.name
	let pwd=req.body.pwd
  let phone=req.body.phone
	console.log(req.body)
	pool.query('insert into usertable(id,name,pwd,phone) values (?,?,?,?)',[null,name,pwd,phone],(err,result)=>{
		if(err){
			throw err
			}
		res.send({code:200,msg:"注册成功!"})
    console.log('注册成功')
	})
})


router.get('/list',(req,res)=>{
	//获取查询字符串中的参数(页面要显示几条商品数据)
	let sum =parseInt(req.query.sum)
	let sum2=parseInt(req.query.sum2)
	
	//定义SQL语句
	let sql = 'select * from listtable limit ?,?'
	pool.query(sql,[sum,sum2],(err,result)=>{
		if(err) throw err
		res.send(result)
	})
})

router.get('/listX',(req,res)=>{
	//获取查询字符串中的参数(页面要显示几条商品数据)
	let id=parseInt(req.query.id)
	//定义SQL语句
	let sql = 'select*from listtable where lid=?'
	pool.query(sql,[id],(err,result)=>{
		if(err) throw err
		res.send(result)
	})
})

router.post('/phonetable',(req,res)=>{
	//接收参数
  let phone=req.body.phone
  console.log(phone)
	pool.query('insert into phonetable values (?,?)',[null,phone],(err,result)=>{
		if(err){
			throw err
			}
		res.send({code:200,msg:"委托成功!"})
	})
})